package com.fishingwithme.domain.anybiting;


import com.fishingwithme.infrastructure.dtos.anybiting.CircleMessageDTO;

/**
 * Circle 消息客户端接口
 */
public interface CircleMessageClient {

    /**
     * 发送消息到指定 Circle
     * @param messageDTO 消息内容
     * @return 发送结果
     */
    boolean saveMessage(CircleMessageDTO messageDTO);

    /**
     * 批量发送消息
     * @param messages 消息列表
     * @return 成功发送的数量
     */
    int sendBatchMessages(Iterable<CircleMessageDTO> messages);

    /**
     * 压缩发送消息（性能优化）
     * @param compressedData 压缩后的数据
     * @param circleId 钓圈ID
     * @return 发送结果
     */
    boolean sendCompressedMessage(byte[] compressedData, Long circleId);
}

